package com.ruoyi.slope.ai.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 三级模块目录对象 slope_ai_module_registry
 * 
 * @author ruoyi
 * @date 2025-09-05
 */
public class SlopeAiModuleRegistry extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 模块唯一标识（主键） */
    private String moduleId;

    /** 二级模块 */
    @Excel(name = "二级模块")
    private String secondLevel;

    /** 三级模块名 */
    @Excel(name = "三级模块名")
    private String thirdLevel;

    /** 模块版本 */
    @Excel(name = "模块版本")
    private String version;

    /** 入口类型：sync/async/batch */
    @Excel(name = "入口类型：sync/async/batch")
    private String endpointType;

    /** 入口地址（内部适配器或占位） */
    @Excel(name = "入口地址", readConverterExp = "内=部适配器或占位")
    private String endpointUrl;

    /** HTTP 方法 */
    @Excel(name = "HTTP 方法")
    private String method;

    /** 输入结构（简表/示例） */
    @Excel(name = "输入结构", readConverterExp = "简=表/示例")
    private String inputSchema;

    /** 输出结构（简表/示例） */
    @Excel(name = "输出结构", readConverterExp = "简=表/示例")
    private String outputSchema;

    /** 默认参数/阈值 */
    @Excel(name = "默认参数/阈值")
    private String defaultParams;

    /** 责任组/负责人 */
    @Excel(name = "责任组/负责人")
    private String owner;

    /** 可用/下线/调试中 */
    @Excel(name = "可用/下线/调试中")
    private String status;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    public void setModuleId(String moduleId) 
    {
        this.moduleId = moduleId;
    }

    public String getModuleId() 
    {
        return moduleId;
    }

    public void setSecondLevel(String secondLevel) 
    {
        this.secondLevel = secondLevel;
    }

    public String getSecondLevel() 
    {
        return secondLevel;
    }

    public void setThirdLevel(String thirdLevel) 
    {
        this.thirdLevel = thirdLevel;
    }

    public String getThirdLevel() 
    {
        return thirdLevel;
    }

    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }

    public void setEndpointType(String endpointType) 
    {
        this.endpointType = endpointType;
    }

    public String getEndpointType() 
    {
        return endpointType;
    }

    public void setEndpointUrl(String endpointUrl) 
    {
        this.endpointUrl = endpointUrl;
    }

    public String getEndpointUrl() 
    {
        return endpointUrl;
    }

    public void setMethod(String method) 
    {
        this.method = method;
    }

    public String getMethod() 
    {
        return method;
    }

    public void setInputSchema(String inputSchema) 
    {
        this.inputSchema = inputSchema;
    }

    public String getInputSchema() 
    {
        return inputSchema;
    }

    public void setOutputSchema(String outputSchema) 
    {
        this.outputSchema = outputSchema;
    }

    public String getOutputSchema() 
    {
        return outputSchema;
    }

    public void setDefaultParams(String defaultParams) 
    {
        this.defaultParams = defaultParams;
    }

    public String getDefaultParams() 
    {
        return defaultParams;
    }

    public void setOwner(String owner) 
    {
        this.owner = owner;
    }

    public String getOwner() 
    {
        return owner;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("moduleId", getModuleId())
            .append("secondLevel", getSecondLevel())
            .append("thirdLevel", getThirdLevel())
            .append("version", getVersion())
            .append("endpointType", getEndpointType())
            .append("endpointUrl", getEndpointUrl())
            .append("method", getMethod())
            .append("inputSchema", getInputSchema())
            .append("outputSchema", getOutputSchema())
            .append("defaultParams", getDefaultParams())
            .append("owner", getOwner())
            .append("status", getStatus())
            .append("notes", getNotes())
            .toString();
    }
}
